Why do we use forName in Java